package com.example.demo.dao;

import com.example.demo.model.Task;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: lishuo
 * Date: 2023-11-20
 * Time: 17:03
 */
@Mapper
public interface MetaMapper {
    // 1. 创建任务表
    void createTaskTable();
    // 2.添加任务
    int addTask(Task task);
    // 3.查询所有未完成的任务
    List<Task> getAllTodoTask();
    // 4.查询所有已完成的任务
    List<Task> getAllDoneTask();
    // 5.删除任务,根据任务Id
    void deleteTask(Integer id);
    // 删除任务，根据任务名
    int deleteTaskByName(String name,Integer userId);
    // 6.更新任务状态为超时
    int updateTask(Integer id);
    // 7.通过任务名更新任务状态为超时
    int updateTaskByName(String name,Integer userId);
    // 8.根据名称查询任务
    Task getTaskByName(String name,Integer userId);

    // 获取所有的任务
    List<Task> getAll(Integer userId);

    // 通过任务名设置任务为已完成
    int updateTaskByNameP(String name,Integer userId);

    void createUserTable();
}
